Timm Bäder [Wed, 17 Jan 2018 14:42:01 +0000 (15:42 +0100)]
sizerequest: Fix for_size adjustment
We need to pull the proper size from the size request cache and adjust
it accordingly.
Timm Bäder [Wed, 17 Jan 2018 12:11:32 +0000 (13:11 +0100)]
box: Simplify some code
All out varibles in measure implementations must be non-null and -1 is
the default value for the baseline parameters.
Timm Bäder [Wed, 17 Jan 2018 12:02:58 +0000 (13:02 +0100)]
box: Remove self assignment
Timm Bäder [Wed, 17 Jan 2018 11:54:42 +0000 (12:54 +0100)]
box: Remove useless if statement
We already check right before this one whether child->pack != packing
and if so, we continue to the next iteration. So, no need to check again
whether the inverted condition child->pack == packing is true, because
it is.
Timm Bäder [Wed, 17 Jan 2018 11:36:37 +0000 (12:36 +0100)]
label: Update layout width directly form allocation
For the one update_layout_width call in size_allocate, we can just use
the passed-in allocation width instead of a separate (relatively slow)
gtk_widget_get_width call.
Timm Bäder [Tue, 16 Jan 2018 19:25:02 +0000 (20:25 +0100)]
widget: Clip redrawn area to widget clip
The clip can already be modified in size_allocate, so we never want a
widget to invalidate more than its actual clip region.
Timm Bäder [Tue, 16 Jan 2018 17:47:52 +0000 (18:47 +0100)]
box: Remove some unneeded checks
We only call this function from the measure implementation and we should
never get NULL pointers there.
Timm Bäder [Tue, 16 Jan 2018 16:50:11 +0000 (17:50 +0100)]
box: Remove an unnecessary local variable
Timm Bäder [Tue, 16 Jan 2018 16:44:46 +0000 (17:44 +0100)]
box: Use GtkWidget's widget list in get_size
Timm Bäder [Tue, 16 Jan 2018 14:12:24 +0000 (15:12 +0100)]
listbox: Don't assume that row child == focus widget
With widgets supporting child widgets and custom GtkListBoxRow
subclasses, this might not be true.
Timm Bäder [Tue, 16 Jan 2018 13:50:50 +0000 (14:50 +0100)]
widget: Remove reparent special case
Since gtk_widget_reparent doesn't exist anymore, we can also remove this
special case.
Timm Bäder [Mon, 15 Jan 2018 21:07:29 +0000 (22:07 +0100)]
container: Remove some unused includes
Timm Bäder [Mon, 15 Jan 2018 20:58:36 +0000 (21:58 +0100)]
viewport: Remove some unused includes
Matthias Clasen [Wed, 17 Jan 2018 19:43:50 +0000 (14:43 -0500)]
gl area: Avoid trivialities
If we have zero pixels, no need to snapshot anything,
and produce GL errors while doing so.
Matthias Clasen [Wed, 17 Jan 2018 19:39:46 +0000 (14:39 -0500)]
gtk-demo: Add gears to the bowl
Just for fun.
Matthias Clasen [Wed, 17 Jan 2018 14:22:01 +0000 (09:22 -0500)]
Drop GtkGLArea::has-alpha
We now always behave as if has-alpha is TRUE.
Update all callers.
Matthias Clasen [Wed, 17 Jan 2018 12:25:51 +0000 (07:25 -0500)]
Convert gtkglarea to use snapshots
Just append a texture node.
Note that this is not 100% done yet. The GL area really
needs to keep a pool of textures, and only reuse them
once the GdkTexture object is gone.
Matthias Clasen [Wed, 17 Jan 2018 05:52:15 +0000 (00:52 -0500)]
gsk: Handle GL textures
These textures already have a GL texture in them,
no need to create a new one.
Matthias Clasen [Wed, 17 Jan 2018 05:32:26 +0000 (00:32 -0500)]
gdk: Add a gl texture implementation
This will be used to pass a GL textures from the application
(or rather, GtkGLArea) down to the GSK GL renderer.
Matthias Clasen [Wed, 17 Jan 2018 04:33:40 +0000 (23:33 -0500)]
Drop removed api from the docs
This should have been part of the previous commit.
Matthias Clasen [Wed, 17 Jan 2018 04:22:41 +0000 (23:22 -0500)]
gdk: Drop some unused cursor apis
The query function for cursor sizes and capabilities
are not very interesting. At least, they are not used
in GTK+, and all backends but X11 just hardcode
made-up values anyway. So, lets drop them.
Matthias Clasen [Wed, 17 Jan 2018 04:21:32 +0000 (23:21 -0500)]
inspector: Stop using gdk_display_get_default_cursor_size
If the cursor theme size setting has no value, just hardcode 32.
Also, allow ridiculously large cursors, just for fun.
Matthias Clasen [Wed, 17 Jan 2018 04:20:12 +0000 (23:20 -0500)]
tooltip: Stop using gdk_display_get_default_cursor_size
It makes more sense to use the actual cursor theme size here.
Matthias Clasen [Wed, 17 Jan 2018 04:25:12 +0000 (23:25 -0500)]
testgtk: Stop using gdk_display_get_maximal_cursor_size
This function is going away. Just make a reasonable assumption
that cursor sizes up to 128 are supported.
Chris Lamb [Fri, 25 Aug 2017 15:24:38 +0000 (16:24 +0100)]
gtk/queryimmodules.c: Make the output deterministic.
Whilst working on the Reproducible Builds effort [0], we noticed that
queryimmodules generates non-reproducible output as it iterates over the
filesystem without sorting.
Patch attached.
[0] https://reproducible-builds.org/
Signed-off-by: Chris Lamb <lamby@debian.org>
https://bugzilla.gnome.org/show_bug.cgi?id=786528
Matthias Clasen [Tue, 16 Jan 2018 23:16:21 +0000 (18:16 -0500)]
tree model sort: Fix set_sort_column
We were failing to change the sort order for the
default sort column in some cases. Fix that, and
add a testcase for this issue.
https://bugzilla.gnome.org/show_bug.cgi?id=792459
Add a testcase for the previous fix
Matthias Clasen [Tue, 16 Jan 2018 23:15:13 +0000 (18:15 -0500)]
tree model sort: Fix initial default sort func
gtk_tree_sortable_has_default_sort_func should return
FALSE initially.
Matthias Clasen [Tue, 16 Jan 2018 20:42:28 +0000 (15:42 -0500)]
Fix the icontheme test
We rely on log messages here. Since logging is per-display
now, we need to set a display on our custom icontheme object
to get the expected log messages.
Matthias Clasen [Tue, 16 Jan 2018 19:50:25 +0000 (14:50 -0500)]
mountoperation: Fix a crash
We only create the gesture when the dialog is needed,
so don't free it unconditionally.
Matthias Clasen [Tue, 16 Jan 2018 19:13:20 +0000 (14:13 -0500)]
Drop ::button-press/release event
We are no longer using these, and there are several gestures
that can be used instead. If you need to catch raw button events,
use the ::event signal.
Matthias Clasen [Tue, 16 Jan 2018 18:57:50 +0000 (13:57 -0500)]
popover: Stop using ::button-press/release-event
Just use a generic ::event handler.
Matthias Clasen [Tue, 16 Jan 2018 18:52:40 +0000 (13:52 -0500)]
menushell: Stop using ::button-press/release-event
Merge the handlers into the existing handler for ::event.
Matthias Clasen [Tue, 16 Jan 2018 18:41:29 +0000 (13:41 -0500)]
menu: Remove stray references to 'button_press'
No code change, but this string was still used in
docs and comments.
Matthias Clasen [Tue, 16 Jan 2018 05:15:22 +0000 (00:15 -0500)]
places sidebar: Stop using ::button-press/release-event
We'll use a generic ::event signal instead.
Matthias Clasen [Tue, 16 Jan 2018 05:04:05 +0000 (00:04 -0500)]
gtk-demo: Stop using ::button-release-event
Matthias Clasen [Tue, 16 Jan 2018 04:57:57 +0000 (23:57 -0500)]
tests: Stop using ::button-press/release-event
The generic ::event signal works fine here.
Matthias Clasen [Tue, 16 Jan 2018 04:56:14 +0000 (23:56 -0500)]
testsuite: Stop using ::button-press-event
We can use the generic ::event signal instead.
Matthias Clasen [Tue, 16 Jan 2018 04:53:45 +0000 (23:53 -0500)]
tests: Stop using ::button-press-event
A gesture will do here.
Matthias Clasen [Tue, 16 Jan 2018 04:47:33 +0000 (23:47 -0500)]
Drop ::motion-notify-event
We no longer emit this signal. You can use various gestures
and event controllers instead. If you need to catch raw
motion events, use the generic ::event signal.
Matthias Clasen [Tue, 16 Jan 2018 04:34:13 +0000 (23:34 -0500)]
places sidebar: Stop using ::motion-notify-event
We can use the generic ::event signal here.
Matthias Clasen [Tue, 16 Jan 2018 04:26:44 +0000 (23:26 -0500)]
docs: Stop referring to specific event signals
These are going away.
Matthias Clasen [Tue, 16 Jan 2018 04:24:50 +0000 (23:24 -0500)]
gtk-demo: Stop using ::motion-notify-event in the hypertext demo
We already have a generic ::event handler, just use it for this.
Matthias Clasen [Tue, 16 Jan 2018 04:15:51 +0000 (23:15 -0500)]
tests: Stop using ::motion-notify-event
We can use the generic ::event signal here.
Matthias Clasen [Tue, 16 Jan 2018 03:52:00 +0000 (22:52 -0500)]
treeview: Stop using ::button-press-event
We can just use a gesture here.
Matthias Clasen [Tue, 16 Jan 2018 01:02:55 +0000 (20:02 -0500)]
recent chooser: Stop using ::button-press-event
We can just use a multipress gesture here.
Matthias Clasen [Mon, 15 Jan 2018 21:43:54 +0000 (16:43 -0500)]
mount operation: Stop using ::button-press-event
A multipress gesture does just fine here.
Matthias Clasen [Mon, 15 Jan 2018 02:53:22 +0000 (21:53 -0500)]
testinput: Port to a drag gesture
This replaces both button-press-event and motion-notify-event
handlers.
Matthias Clasen [Thu, 11 Jan 2018 00:02:23 +0000 (19:02 -0500)]
entry completion: Drop another ::button-press-event handler
This one will be replaced by a generic ::event handler.
Matthias Clasen [Wed, 10 Jan 2018 23:52:39 +0000 (18:52 -0500)]
docs: Stop referring to legacy event signals
These are going away.
Matthias Clasen [Wed, 10 Jan 2018 23:51:01 +0000 (18:51 -0500)]
entry completion: Stop using ::button-press-event
Just use the existing ::row-activated signal on the treeviews.
Matthias Clasen [Wed, 10 Jan 2018 23:38:00 +0000 (18:38 -0500)]
gtk-demo: Stop using ::button-press-event
Use gestures instead.
Matthias Clasen [Wed, 10 Jan 2018 23:30:13 +0000 (18:30 -0500)]
testgtk: Stop using ::button-press-event
This one example can just as well use a gesture.
Matthias Clasen [Mon, 8 Jan 2018 01:40:11 +0000 (20:40 -0500)]
places view: Stop using ::button-press-event
Instead, use a multi-press gesture in the row widget,
and emit ::popup-menu from there.
Matthias Clasen [Mon, 8 Jan 2018 00:33:27 +0000 (19:33 -0500)]
file chooser: Use a multipress gesture
This replaces the use of ::button-press-event. There's two
issues with this commit:
1) We don't have a good way to do the equivalent of
gdk_event_triggers_context_menu with gestures
2) We have to defer to and idle to avoid ordering
issues with the treeviews own gestures
Matthias Clasen [Sun, 7 Jan 2018 17:54:06 +0000 (12:54 -0500)]
Revert "file chooser: Allow activating without double-click"
This reverts commit
fb0a13b7f070a14312dafa1e4df6ba03cf33be01.
It is getting in the way of gesture conversion, and didn't
really make anybody happy anyway.
Matthias Clasen [Sun, 7 Jan 2018 16:25:55 +0000 (11:25 -0500)]
app chooser: Use a gesture
Instead of connecting to ::button-press-event, use
a multipress gesture here.
Matthias Clasen [Sun, 7 Jan 2018 15:45:07 +0000 (10:45 -0500)]
Remove a leftover icon-size property
This made the 'style classes' demo crash.
Matthias Clasen [Sat, 6 Jan 2018 23:18:38 +0000 (18:18 -0500)]
Drop ::focus-in/out-event
These signals are no longer used in GTK+.
If you need to catch focus events, use the ::event signal.
Matthias Clasen [Sat, 6 Jan 2018 23:10:11 +0000 (18:10 -0500)]
treeview: Stop using ::focus-out-event
We can just use the generic ::event signal.
Matthias Clasen [Sat, 6 Jan 2018 23:04:24 +0000 (18:04 -0500)]
file chooser entry: Stop using ::focus-out-event
Just use the generic ::event signal.
Matthias Clasen [Sat, 6 Jan 2018 22:53:20 +0000 (17:53 -0500)]
spin button: Stop using ::focus-out-event
Just use the generic ::event signal.
Matthias Clasen [Sat, 6 Jan 2018 22:52:56 +0000 (17:52 -0500)]
calendar: Stop using ::focus-out-event
Use the generic ::event signal.
Matthias Clasen [Sat, 6 Jan 2018 20:35:54 +0000 (15:35 -0500)]
color editor: stop using ::focus-out-event
Again, the has-focus property is sufficient.
Matthias Clasen [Sat, 6 Jan 2018 20:12:04 +0000 (15:12 -0500)]
text cell renderer: Stop using ::focus-out-event
The has-focus property works fine here.
Matthias Clasen [Sat, 6 Jan 2018 20:09:26 +0000 (15:09 -0500)]
spin cell renderer: Stop using ::focus-out-event
The has-focus property works fine here.
Matthias Clasen [Sat, 6 Jan 2018 20:06:12 +0000 (15:06 -0500)]
combo cell renderer: Stop using ::focus-out-event
The has-focus property works fine here.
Matthias Clasen [Sat, 6 Jan 2018 17:29:29 +0000 (12:29 -0500)]
tests: Stop using ::focus-in/out-event
The has-focus property works just as well here.
Matthias Clasen [Sat, 6 Jan 2018 17:21:31 +0000 (12:21 -0500)]
popover: Stop using ::focus-in/out-event
We can use the is-active property of the window instead.
Matthias Clasen [Sat, 6 Jan 2018 17:11:40 +0000 (12:11 -0500)]
application: Stop using ::focus-in-event
We are really interested in the active window, so use
that property directly.
Matthias Clasen [Sat, 6 Jan 2018 17:51:33 +0000 (12:51 -0500)]
window: Stop using ::focus-in/out-event
We can just use the generic ::event.
Matthias Clasen [Sat, 6 Jan 2018 17:41:02 +0000 (12:41 -0500)]
text view: Stop using ::focus-in/out-event
We can just use the generic ::event here.
Matthias Clasen [Sat, 6 Jan 2018 17:03:30 +0000 (12:03 -0500)]
entry completion: Stop using ::focus-out-event
We can just use ::event.
Matthias Clasen [Sat, 6 Jan 2018 16:49:51 +0000 (11:49 -0500)]
entry: Stop using ::focus-in/out-event
We can just use the generic ::event signal.
Matthias Clasen [Sat, 6 Jan 2018 16:48:53 +0000 (11:48 -0500)]
a11y: Stop using ::focus-in/out-event
We can just use the generic ::event signal.
Matthias Clasen [Wed, 3 Jan 2018 02:58:46 +0000 (21:58 -0500)]
Drop gtk_widget_hide_on_delete
This function is misnamed - it is only ever relevant for
windows. And with the ::hide-on-delete property , it is
no longer necessary to use the signal for this simple case.
Matthias Clasen [Tue, 2 Jan 2018 23:03:59 +0000 (18:03 -0500)]
Drop ::event-after
This signal is not used in GTK+, and we are reducing the
amount of widget signals devoted to events in favor of
event controllers.
Matthias Clasen [Tue, 2 Jan 2018 22:05:08 +0000 (17:05 -0500)]
Drop ::grab-broken-event
This signal is no longer used in GTK+. Grab broken events
can be handled with the generic ::event signal.
Matthias Clasen [Tue, 2 Jan 2018 22:00:39 +0000 (17:00 -0500)]
button: Stop using ::grab-broken-event
The event-specific signals are going away. Just use ::event here.
Matthias Clasen [Tue, 2 Jan 2018 22:00:12 +0000 (17:00 -0500)]
menushell: Stop using ::grab-broken
The event-specific signals are going away. Just use ::event here.
Matthias Clasen [Tue, 16 Jan 2018 03:54:03 +0000 (22:54 -0500)]
notebook: some cleanup
Matthias Clasen [Tue, 2 Jan 2018 21:29:38 +0000 (16:29 -0500)]
notebook: Use a motion event controller
This lets us avoid the ::motion-notify-event handler.
Matthias Clasen [Tue, 2 Jan 2018 20:45:52 +0000 (15:45 -0500)]
textview: Use a motion event controller
This lets us replace the ::motion-notify-event handler.
Matthias Clasen [Tue, 2 Jan 2018 18:37:02 +0000 (13:37 -0500)]
Drop ::enter/leave-notify-event
These signals are no longer used in GTK+ and have a (not quite
perfect yet) replacement with GtkEventControllerMotion.
If you need to catch the raw events, the generic ::event
signal still works.
Matthias Clasen [Tue, 2 Jan 2018 18:22:36 +0000 (13:22 -0500)]
menu: Use a motion event controller
This lets us replace the ::enter/leave-notify-event handlers.
Not that there is a FIXME here - we currently can't get the
crossing mode from the event controller, so we have to fall
back to gtk_get_current_event().
Matthias Clasen [Tue, 2 Jan 2018 16:07:56 +0000 (11:07 -0500)]
menuitem: Use a motion event controller
This lets us replace the ::enter/leave-notify-event handlers.
Not that there is a FIXME here - we currently can't get the
crossing mode from the event controller, so we have to fall
back to gtk_get_current_event().
Matthias Clasen [Tue, 2 Jan 2018 04:48:32 +0000 (23:48 -0500)]
iconview: Use a motion event controller
This can replace ::motion-notify-event and ::leave-notify-event.
Matthias Clasen [Tue, 2 Jan 2018 04:25:10 +0000 (23:25 -0500)]
scrolled window: Use a motion event controller
This lets use replace one of the last uses of ::leave-notify-event.
Matthias Clasen [Tue, 2 Jan 2018 04:08:46 +0000 (23:08 -0500)]
entry completion: Drop initial selection avoidance
This is a minor thing, and it is hard to recreate
with event controllers, so drop it for now.
Matthias Clasen [Tue, 2 Jan 2018 01:24:28 +0000 (20:24 -0500)]
treeview: Use a motion event controller
This replaces handlers for ::enter/leave/motion-notify-event.
Matthias Clasen [Tue, 2 Jan 2018 01:07:24 +0000 (20:07 -0500)]
Add x/y to GtkEventControllerMotion::enter
We have this information available in enter events,
and having it in the controller signal as well makes
porting easier.
Update existing users.
Matthias Clasen [Mon, 1 Jan 2018 23:25:35 +0000 (18:25 -0500)]
Drop ::configure-event
This signal is unused in GTK+ and configure events are handled
internally by GtkWindow.
If you need to catch configure events, the generic ::event
signal still works.
Matthias Clasen [Mon, 1 Jan 2018 23:18:37 +0000 (18:18 -0500)]
window: Stop using ::configure-event
We already have a generic ::event handler that we
can just press into service for this.
Matthias Clasen [Mon, 1 Jan 2018 23:18:11 +0000 (18:18 -0500)]
testgtk: Stop using ::configure-event
Matthias Clasen [Mon, 1 Jan 2018 22:50:15 +0000 (17:50 -0500)]
xim: Stop using ::configure-event
The generic ::event will do.
Matthias Clasen [Mon, 1 Jan 2018 22:47:34 +0000 (17:47 -0500)]
tests: Stop using ::configure-event
The generic ::event will do.
Matthias Clasen [Mon, 1 Jan 2018 22:30:03 +0000 (17:30 -0500)]
Drop ::touch-event
This signal is not used in GTK+, and has a suitable
replacement with GtkGesture and its subclasses.
If you need to catch the raw touch events, the generic ::event
signal still works, too.
Matthias Clasen [Mon, 1 Jan 2018 22:24:16 +0000 (17:24 -0500)]
Drop ::scroll-event
This signal is not used in GTK+, and has a suitable
replacement with GtkEventControllerScroll.
If you need to catch these events, the generic ::event
signal still works, too.
Matthias Clasen [Mon, 1 Jan 2018 22:18:30 +0000 (17:18 -0500)]
Drop ::proximity-in-event and ::proximity-out-event
These are unused in GTK+, and are not very common.
If you need to catch these events, the generic ::event
signal still works.
Matthias Clasen [Mon, 1 Jan 2018 22:07:32 +0000 (17:07 -0500)]
Drop ::map-event and ::unmap-event
These are unused in GTK+, and are not very common.
If you need to catch these events, the generic ::event
signal still works.
Matthias Clasen [Mon, 1 Jan 2018 22:01:57 +0000 (17:01 -0500)]
window: Stop using ::map-event
Use ::event here, since we want to drop the event-specific
signals, and we already have a handler for the generic signal.